@信仰
4年前 提问
1个回答

HSTS 完全安全吗

趣能一姐
4年前

简单来说这个不能绝对的说是安全的因为不幸的是,您首次访问该网站时,不受HSTS保护。如果网站将HSTS标头添加到HTTP连接,则该标头将被忽略。这是因为攻击者可以在中间人攻击期间删除或添加标头。除非通过HTTPS传递,否则HSTS标头不能被信任。

您还应该知道,max-age每次浏览器读取标题时,HSTS都会刷新,最大值为两年。这意味着只要您两次访问之间的间隔不超过两年,该保护就是永久性的。如果您两年未访问某个网站,则将其视为新网站。同时,如果为HSTS标头提供max-age0,则浏览器将在下次尝试连接时将该站点视为新站点(这对于测试很有用)。

您可以使用称为HSTS预加载列表的另一种保护方法。Chromium项目维护使用HSTS的网站列表,并且该列表随浏览器一起分发。如果将网站添加到预加载列表,浏览器将首先检查内部列表,因此,即使在首次连接尝试期间,也永远不会通过HTTP访问您的网站。此方法不是HSTS标准的一部分,但所有主要浏览器(Chrome,Firefox,Safari,Opera,IE11和Edge)都使用此方法。

当前唯一可用于绕过HSTS的方法是基于NTP的攻击。如果客户端计算机容易受到NTP攻击,则可以欺骗其过期HSTS策略并使用HTTP访问该站点一次。